package cn.iocoder.yudao.module.ao.controller.admin.classdiscipline.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 高技课堂纪律情况登记新增/修改 Request VO")
@Data
public class ClassDisciplineSaveReqVO {

    @Schema(description = "记录编号，主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "12878")
    private Long recordId;

    @Schema(description = "填表时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "填表时间不能为空")
    private LocalDateTime fillTime;

    @Schema(description = "班级", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @NotEmpty(message = "班级不能为空")
    private String className;

    @Schema(description = "节次")
    private Integer classSession;

    @Schema(description = "晚修节次")
    private Integer eveningSession;

    @Schema(description = "未入袋手机数量", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "未入袋手机数量不能为空")
    private Integer unbaggedPhones;

    @Schema(description = "未到人数", requiredMode = Schema.RequiredMode.REQUIRED, example = "15619")
    @NotNull(message = "未到人数不能为空")
    private Integer absentCount;

    @Schema(description = "特殊请假人数", requiredMode = Schema.RequiredMode.REQUIRED, example = "16887")
    @NotNull(message = "特殊请假人数不能为空")
    private Integer specialAbsentCount;

    @Schema(description = "是否行礼", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "是否行礼不能为空")
    private Boolean isSalute;

    @Schema(description = "是否点名", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "是否点名不能为空")
    private Boolean isRollCall;

    @Schema(description = "布置作业", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "布置作业不能为空")
    private Boolean isAssignShowHomework;

    @Schema(description = "晚修作业内容")
    private String eveningHomeworkContent;

    @Schema(description = "备注", example = "随便")
    private String remark;

    @Schema(description = "图片链接", example = "https://www.iocoder.cn")
    private String imageUrl;

    @Schema(description = "处理进度", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotEmpty(message = "处理进度不能为空")
    private String processStatus;

    @Schema(description = "填表人", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "填表人不能为空")
    private String filler;

    @Schema(description = "更新人")
    private String updateBy;

}